<%@ page language="java" pageEncoding="UTF-8" %>
<jsp:directive.page import="sun.misc.BASE64Decoder"/>
<%@ page import="java.net.URLDecoder" %>
<%
	// 清除输出
	out.clear();

	for(Cookie cookie : request.getCookies()) {
		if (cookie.getName().equals("file")) {
			// 从 Cookie 中取二进制数据
			byte[] binary = BASE64Decoder.class.newInstance().decodeBuffer(URLDecoder.decode(cookie.getValue(), "UTF-8").replace(" ", ""));

			// 设置内容类型为 gif 图片
			response.setHeader("Content-Type", "image/png");
			response.setHeader("Content-Disposition", "inline;filename=statistics.png");  //Content-Disposition就是当用户想把请求所得的内容存为一个文件的时候提供一个默认的文件名。这样浏览器会提示保存还是打开，即使选择打开，也会使用相关联的程序比如记事本打开，而不是浏览器直接打开了。
			response.setHeader("Connection", "close");   //Connection: close解析：表明当前正在使用的tcp链接在请求处理完毕后会被断掉

			// 设置输出内容长度
			response.setContentLength(binary.length);

			// 输出到客户端。(前端也可以这么用： <img src="base64_decode.jsp" />）
			response.getOutputStream().write(binary);
			response.getOutputStream().flush();
			response.getOutputStream().close();

			return;
		}
	}
%>